Automating Object Transformations for Dynamic Software Updating
ثبت نشده
چکیده
Dynamic software updating (DSU) systems eliminate costly downtime by dynamically fixing bugs and adding features to executing programs. Given a static code patch, most DSU systems can construct the run-time code changes automatically. However, a dynamic update must also specify how to change the running program’s execution state, e.g., its stack and heap, to be compatible with the new code. Constructing such state transformations correctly and automatically remains an open problem. This paper presents a solution called Targeted Object Synthesis (TOS). TOS first executes the same tests on the old and new program versions separately, observing the program state at key points. Given two corresponding states, TOS matches corresponding objects between the two versions, and synthesizes the simplest-possible function to transform old version objects to their corresponding new versions. We show the efficacy of TOS by inferring transformation functions for actual updates to four open-source server programs.
منابع مشابه
Automating the Evolution of Object
A formal framework is presented for maintaining behavior and consistency of object-oriented systems during software evolution. The framework eeectively couples a change avoidance approach based on Adaptive Object-Oriented Software with a change management mechanism to fully automate evolution. Schema transformations may render existing objects and programs inconsistent. The framework identiies ...
متن کاملAutomating the Evolution of Object-Oriented Systems
A formal framework is presented for maintaining behavior and consistency of object-oriented systems during software evolution. The framework eeectively couples a change avoidance approach based on Adaptive Object-Oriented Software with a change management mechanism to fully automate evolution. Schema transformations may render existing objects and programs inconsistent. The framework identiies ...
متن کاملAutomating Three Modes of Evolution for Object-Oriented Software Architectures
1 Architectural evolution is a costly yet unavoidable consequence of a successful application. One method for reducing cost is to automate aspects of the evolutionary cycle when possible. Three kinds of architectural evolution in object-oriented systems are: schema transformations, the introduction of design pattern microarchitectures, and the hot-spot-drivenapproach. This paper shows that all ...
متن کاملMetaprogramming in the Large
Software evolution demands continuous adaptation of software systems to continuously changing requirements. Our goal is to cope with software evolution by automating program transformation and system recon guration. We show that this can be achieved with a static metaprogramming facility and a library of suitable metaprograms. We show that former approaches of program transformations are not su...
متن کامل$omega$-Operads of coendomorphisms and fractal $omega$-operads for higher structures
In this article we introduce the notion of textit{Fractal $omega$-operad} emerging from a natural $omega$-operad associated to any coglobular object in the category of higher operads in Batanin's sense, which in fact is a coendomorphism $omega$-operads. We have in mind coglobular object of higher operads which algebras are kind of higher transformations. It follows that this natural $omeg...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011